PowerShell এ Object এবং Hashtable দুটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার, যেগুলো প্রোগ্রামিং এবং স্ক্রিপ্টিংয়ে বিভিন্নভাবে ব্যবহৃত হয়। এগুলি ডেটা সংরক্ষণ, পরিচালনা এবং পাস করার জন্য ব্যবহৃত হয়। নিচে Object এবং Hashtable এর ব্যবহার এবং তাদের মধ্যে পার্থক্য আলোচনা করা হলো।
PowerShell এ Object
Object হলো একটি ডেটা স্ট্রাকচার যা বিভিন্ন ধরনের ডেটা (প্রপার্টি) এবং তাদের সঙ্গে সম্পর্কিত কার্যকলাপ (মেথড) ধারণ করতে পারে। PowerShell এর মাধ্যমে আপনি বিভিন্ন ধরনের অবজেক্ট তৈরি করতে পারেন, যেমন স্ট্রিং, ইনটিজার, ক্লাস, অথবা কাস্টম অবজেক্ট। Object ব্যবহারের মাধ্যমে ডেটা একটি সংহত ফরম্যাটে একত্রিত করা যায়।
PowerShell এ Object তৈরি করা:
PowerShell এ অবজেক্ট তৈরি করার জন্য সাধারণত New-Object বা [PSCustomObject] ব্যবহার করা হয়।
1. New-Object ব্যবহার করে Object তৈরি করা:
$person = New-Object -TypeName PSObject -Property @{
Name = "John Doe"
Age = 30
Occupation = "Software Developer"
}
এই কোডটি একটি কাস্টম অবজেক্ট তৈরি করে, যেখানে Name, Age, এবং Occupation প্রপার্টি রয়েছে।
2. [PSCustomObject] ব্যবহার করে Object তৈরি করা:
$person = [PSCustomObject]@{
Name = "Jane Smith"
Age = 25
Occupation = "Web Designer"
}
এটি একই ফলাফল দিবে, তবে [PSCustomObject] ব্যবহারে কোডটি আরও সংক্ষিপ্ত এবং পরিষ্কার হয়।
Object এর ব্যবহার:
- Property Access: Object এর প্রপার্টি অ্যাক্সেস করতে
.(ডট) অপারেটর ব্যবহার করা হয়।
$person.Name # John Doe
$person.Age # 30
$person.Occupation # Software Developer
- Method Invocation: Object এর মেথড কল করা যায়।
$person.GetType() # Returns type of the object
PowerShell এ Hashtable
Hashtable হলো একটি ডেটা স্ট্রাকচার যা কীগুলি (keys) এবং তাদের সাথে সম্পর্কিত মান (values) ধারণ করে। Hashtable সাধারণত ডিকশনারি (dictionary) বা অ্যাসোসিয়েটিভ অ্যারে (associative array) হিসাবে পরিচিত। PowerShell এ Hashtable তৈরি করতে @{} সিঙ্কট্যাক্স ব্যবহার করা হয়।
PowerShell এ Hashtable তৈরি করা:
$student = @{
Name = "Sarah"
Age = 22
Major = "Computer Science"
}
এই Hashtable এ তিনটি কী-ভ্যালু পেয়ার রয়েছে: Name, Age, এবং Major।
Hashtable এর ব্যবহার:
- Value Access: Hashtable এর ভ্যালু অ্যাক্সেস করতে কীগুলি ব্যবহার করা হয়।
$student["Name"] # Sarah
$student["Age"] # 22
$student["Major"] # Computer Science
- Adding Items to Hashtable: নতুন কী-ভ্যালু পেয়ার যোগ করা যায়।
$student["GPA"] = 3.8
- Removing Items from Hashtable: কোনও কী-ভ্যালু পেয়ার মুছে ফেলতে
Removeমেথড ব্যবহার করা হয়।
$student.Remove("Major")
- Checking if a Key Exists: কোনও কী বিদ্যমান কিনা চেক করতে
ContainsKeyব্যবহার করা যায়।
$student.ContainsKey("Age") # True
$student.ContainsKey("Major") # False
Object এবং Hashtable এর মধ্যে পার্থক্য
| Feature | Object | Hashtable |
|---|---|---|
| Data Structure | Object is a complex data structure with properties and methods. | Hashtable is a collection of key-value pairs. |
| Access Type | Data is accessed using properties (e.g., $object.Property). | Data is accessed using keys (e.g., $hashtable["Key"]). |
| Purpose | Primarily used to represent entities or objects with attributes. | Primarily used for mapping keys to values. |
| Creation Syntax | [PSCustomObject]@{} or New-Object | @{} (Hashtable literal) |
| Example | $person = [PSCustomObject]@{ Name = "John"; Age = 30 } | $student = @{ Name = "Sarah"; Age = 22 } |
| Dynamic Changes | Can add properties dynamically using methods. | Allows adding, removing, and updating key-value pairs dynamically. |
Object এবং Hashtable একত্রে ব্যবহার
PowerShell এ Object এবং Hashtable একত্রে ব্যবহার করা যেতে পারে। আপনি একটি Object এর মধ্যে Hashtable রাখতে পারেন বা একাধিক Object সংরক্ষণ করতে Hashtable ব্যবহার করতে পারেন।
Object ভিতরে Hashtable রাখার উদাহরণ:
$person = [PSCustomObject]@{
Name = "Alice"
Age = 28
Address = @{
Street = "123 Main St"
City = "New York"
ZipCode = "10001"
}
}
এখানে, Address একটি Hashtable হিসেবে সংরক্ষিত হয়েছে, যা একটি Object এর মধ্যে আছে।
উপসংহার
PowerShell এ Object এবং Hashtable ব্যবহারের মাধ্যমে আপনি আরও জটিল এবং সংগঠিত ডেটা স্ট্রাকচার তৈরি করতে পারেন। Object মূলত প্রপার্টি এবং মেথডের সমষ্টি, যেখানে Hashtable একটি কী-ভ্যালু পেয়ার ধারণ করে। উভয়ই PowerShell স্ক্রিপ্টিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ এবং কার্যকরী টুলস।
Read more